#include "Path.h"

namespace Lyt
{
	namespace IO
	{
		WString Path::GetDirectoryName(const WString path)
		{
			int Index=path.LastIndexOf(L"\\");
			if (Index==-1) return L"";
			else return path.Left(Index);
		}

		WString Path::GetExtension(const WString path)
		{
			int Index=path.LastIndexOf(L"\\");
			if (Index==-1) return Index=0;
			WString Temp=path.Right(path.GetLength()-Index-1);
			Index=Temp.IndexOf(L".");
			if (Index==-1) return L"";
			else return Temp.Right(Temp.GetLength()-Index-1);
		}

		WString Path::GetFileName(const WString path)
		{
			int Index=path.LastIndexOf(L"\\");
			if (Index==-1) return path;
			else return path.Right(path.GetLength()-Index-1);
		}

		WString Path::GetFileNameWithoutExtension(const WString path)
		{
			WString Result=GetFileName(path);
			int Index=Result.IndexOf(L".");
			if (Index==-1) return Result;
			else return Result.Left(Index);
		}

		WString Path::GetPathRoot(const WString path)
		{
			int Index=path.IndexOf(L"\\");
			if (Index==-1) return L"";
			else return path.Left(Index+1);
		}
	}
}